package org.black.phoneUtility.sms.reply.provider;

import android.app.Activity;
import android.net.Uri;
import android.provider.BaseColumns;
import android.telephony.SmsManager;

public final class SmsReplyContract {
	public static final String AUTHORITY = "org.black.phoneUtility.smsReply.provider";

	public static final Uri AUTHORITY_URI = Uri.parse("content://" + AUTHORITY);

	public static class SmsReplyGlobalSettings implements BaseColumns {
		private SmsReplyGlobalSettings() {
		}

		public static final String SMS_REPLY_GLOBAL_SETTINGS = "smsReplyGlobalSettings";

		public static final Uri CONTENT_URI = Uri.withAppendedPath(
				AUTHORITY_URI, SMS_REPLY_GLOBAL_SETTINGS);

		public static final String ENABLE_AVOID_EXCESSIVE_REPLY = "enable_avoid_excessive_reply";
		public static final String SHOULD_NOTIFICATION_DISPLAY_IN_NOTIFICATION_BAR = "should_notification_display_in_notification_bar";
		public static final String TURN_ON_SILENT_WHEN_REPLY_IS_ON = "turn_on_silent_when_reply_is_on";
		public static final String DO_NOT_SEND_REPLY_MESSAGE_ON_ROAMING = "do_not_send_reply_message_on_roaming";
	}

	public static class SmsReplies implements BaseColumns {
		private SmsReplies() {
		}

		public static final String SMS_REPLIES = "smsReplies";

		public static final Uri CONTENT_URI = Uri.withAppendedPath(
				AUTHORITY_URI, SMS_REPLIES);

		public static final String TITLE = "title";
		public static final String SHOULD_RESPONSE_FROM_PHONE = "should_response_from_phone";
		public static final String SHOULD_RESPONSE_FROM_SMS = "should_response_from_sms";
		public static final String PHONE_MESSAGE = "phone_message";
		public static final String PHONE_SMS_USE_DIFFERENT_MESSAGE = "use_different_message";
		public static final String IS_ACTIVATED = "is_activated";
		public static final String ACTIVATION_DATE_TIME = "activation_date_time";
		public static final String REPLY_MODE = "reply_mode";
		public static final String SMS_MESSAGE = "sms_message";
		public static final String CREATEION_DATE_TIME = "createion_dateTime";
		public static final String MODIFICATION_DATE_TIME = "modification_dateTime";
		public static final String NOTIFY_AFTER_SENDING_MESSAGE = "notify_after_sendind_message";
		public static final String ENABLE_AVOID_EXCESSIVE_REPLY = "enable_avoid_excessive_reply";
		public static final String ENABLE_NOT_RESPONSE_TO_READ_MESSAGE = "enable_not_response_for_read_message";
		public static final String DELAY_TIME_FOR_NOT_RESPONSE_TO_READ_MESSAGE = "delay_time_for_not_response_for_read_message";
		public static final String ENABLE_NOT_RESPONSE_TO_RESPONSE_CALL = "enable_not_response_to_response_call";
		public static final String DELAY_TIME_FOR_NOT_RESPONSE_TO_RESPONSE_CALL = "delay_time_for_not_response_to_response_call";
		public static final String ENABLE_RINGER_MODE_SILENT = "enable_ringer_mode_silent";

		/* Start Cache Data For Reply Date Time Mode */
		public static final String REPLY_DATE_TIME_TYPE = "reply_date_time_mode_type";

		public static final String EXPIRATED_AFTER_MILLISECONDS = "reply_date_time_mode_expired_after_milliseconds";

		public static final String PERIOD_START_DATE_TIME = "reply_date_time_mode_start_date_time";
		public static final String PERIOD_END_DATE_TIME = "reply_date_time_mode_end_date_time";

		public static final String REPEAT_START_TIME = "reply_date_time_mode_repeat_start_time";
		public static final String REPEAT_END_TIME = "reply_date_time_mode_repeat_end_time";
		public static final String IS_SUNDAY_ENABLE = "reply_date_time_mode_is_sunday_enable";
		public static final String IS_MONDAY_ENABLE = "reply_date_time_mode_is_monday_enable";
		public static final String IS_TUESDAY_ENABLE = "reply_date_time_mode_is_tuesday_enable";
		public static final String IS_WEDNESDAY_ENABLE = "reply_date_time_mode_iswednesday_enable";
		public static final String IS_THURSDAY_ENABLE = "reply_date_time_mode_is_thursday_enable";
		public static final String IS_FRIDAY_ENABLE = "reply_date_time_mode_is_friday_enable";
		public static final String IS_SATURDAY_ENABLE = "reply_date_time_mode_is_saturday_enable";
		/* End Cache Data For Reply Date Time Mode */

		public static final int REPLY_MODE_VALUE_REPLY_DIRECTLY = 129;
		public static final int REPLY_MODE_VALUE_REPLY_TO_SPECIFIC_NUMBERS = 130;

		public static final int REPLY_DATE_TIME_MODE_ALWAYS_TYPE = 129;
		public static final int REPLY_DATE_TIME_MODE_EXPIRED_AFTER_TYPE = 130;
		public static final int REPLY_DATE_TIME_MODE_PERIOD_TYPE = 131;
		public static final int REPLY_DATE_TIME_MODE_REPEAT_TYPE = 132;
		/* End Cache Data For Reply Date Time Mode */
	}

	public static class ReplyTimesModes implements BaseColumns {
		private ReplyTimesModes() {

		}

		public static final String REPLY_TIMES_MODES = "replyTimesModes";

		public static final Uri CONTENT_URI = Uri.withAppendedPath(
				AUTHORITY_URI, REPLY_TIMES_MODES);
		public static final String TYPE = "reply_times_mode_type";

		public static final String IS_ACTIVATED = "isActivated";
		public static final String ACTIVATION_DATE_TIME = "activationDateTime";
		public static final String REFERENCE_SMS_REPLY_ID = "r_smsReplyId";

		public static final String TIMES = "times";

		public static final int ALWAYS_TYPE = 129;
		public static final int LIMITED_TIMES_TYPE = 130;
	}

	public static class ResponseNumberFrom implements BaseColumns {
		private ResponseNumberFrom() {

		}

		public static final String RESPONSE_NUMBER_FROMS = "responseNumberFroms";

		public static final Uri CONTENT_URI = Uri.withAppendedPath(
				AUTHORITY_URI, RESPONSE_NUMBER_FROMS);
		public static final String TYPE = "response_number_from_type";
		public static final String CREATION_DATE_TIME = "creationDateTime";
		public static final String REFERENCE_SMS_REPLY_ID = "r_smsReplyId";

		public static final String NAME = "name";
		public static final String PHONE_NUMBER = "phoneNumber";
		public static final String SMS_KEYWORD = "sms_keyword";
		public static final String GROUP_NAME = "group_name";
		public static final String NUMBERS_BEGIN_WITH = "numbers_begin_with";

		public static final int ALL_NUMBERS_TYPE = 129;
		public static final int ALL_NUMBERS_IN_MY_CONTACTS_TYPE = 130;
		public static final int ALL_NUMBERS_NOT_IN_MY_CONTACTS_TYPE = 131;
		public static final int CHOOSE_FROM_CONTACTS_TYPE = 132;
		public static final int USER_INPUT_TYPE = 133;
		public static final int MATCH_SMS_KEYWORD_TYPE = 134;
		public static final int NUMBERS_BEGIN_WITH_TYPE = 135;
		public static final int NUMBERS_FROM_CONTACT_GROUP_TYPE = 136;
	}

	public static class ReplyToSpecificNumbers implements BaseColumns {
		private ReplyToSpecificNumbers() {
		}

		public static final String REPLY_TO_SPECIFIC_NUMBERS = "replyToSpecificNumbers";

		public static final Uri CONTENT_URI = Uri.withAppendedPath(
				AUTHORITY_URI, REPLY_TO_SPECIFIC_NUMBERS);

		public static final String TYPE = "reply_to_specific_number_type";
		public static final String NAME = "name";
		public static final String PHONE_NUMBER = "phoneNumber";

		public static final String CREATION_DATE_TIME = "creationDateTime";
		public static final String REFERENCE_SMS_REPLY_ID = "r_smsReplyId";
		public static final String GROUP_NAME = "group_name";

		public static final int FROM_CONTACT_TYPE = 129;
		public static final int USER_INPUT_TYPE = 130;
		public static final int NUMBERS_FROM_CONTACT_GROUP_TYPE = 131;
	}

	public static class NoneReplyNumbers implements BaseColumns {
		private NoneReplyNumbers() {

		}

		public static final String NONE_REPLY_NUMBERS = "noReplyNumbers";

		public static final Uri CONTENT_URI = Uri.withAppendedPath(
				AUTHORITY_URI, NONE_REPLY_NUMBERS);

		public static final String TYPE = "none_reply_number_type";

		public static final String NAME = "name";
		public static final String PHONE_NUMBER = "phoneNumber";
		public static final String SMS_KEYWORD = "sms_keyword";
		public static final String GROUP_NAME = "group_name";
		public static final String NUMBERS_BEGIN_WITH = "numbers_begin_with";

		public static final String CREATION_DATE_TIME = "creationDateTime";
		public static final String REFERENCE_SMS_REPLY_ID = "r_smsReplyId";

		public static final int ALL_NUMBERS_IN_MY_CONTACTS_TYPE = 129;
		public static final int CHOOSE_FROM_CONTACT_TYPE = 130;
		public static final int USER_INPUT_TYPE = 131;
		public static final int MATCH_SMS_KEYWORD_TYPE = 132;
		public static final int NUMBERS_BEGIN_WITH_TYPE = 133;
		public static final int NUMBERS_FROM_CONTACT_GROUP_TYPE = 134;
	}

	public static class ActivationRecords implements BaseColumns {
		private ActivationRecords() {
		}

		public static final String ACTIVATION_RECORDS = "activationRecords";

		public static final Uri CONTENT_URI = Uri.withAppendedPath(
				AUTHORITY_URI, ACTIVATION_RECORDS);

		public static final String CREATION_DATE_TIME = "creationDateTime";
		public static final String IS_ACTIVATED = "isActivated";
		public static final String REFERENCE_SMS_REPLY_ID = "r_smsReplyId";
	}

	public static class ReplyHistories implements BaseColumns {
		private ReplyHistories() {
		}

		public static final String REPLY_HISTORIES = "replyHistories";

		public static final Uri CONTENT_URI = Uri.withAppendedPath(
				AUTHORITY_URI, REPLY_HISTORIES);
		public static final String NAME = "name";
		public static final String REPLY_STATUS = "reply_status";
		public static final String PHONE_NUMBER = "phoneNumber";
		public static final String SOURCE_FROM = "sourceFrom";
		public static final String REPLY_MESSAGE = "replYMessage";
		public static final String CREATION_DATE_TIME = "creationDateTime";
		public static final String REFERENCE_SMS_ACTIVATION_RECORDS_ID = "r_activationRecordsId";

		public static final int REPLY_HISTORY_SOURCE_FROM_VALUE_PHONE = 128;
		public static final int REPLY_HISTORY_SOURCE_FROM_VALUE_SMS = 129;

		public static final int REPLY_STATUS_RESULT_OK = Activity.RESULT_OK;
		public static final int REPLY_STATUS_RESULT_ERROR_GENERIC_FAILURE = SmsManager.RESULT_ERROR_GENERIC_FAILURE;
		public static final int REPLY_STATUS_RESULT_ERROR_NO_SERVICE = SmsManager.RESULT_ERROR_NO_SERVICE;
		public static final int REPLY_STATUS_RESULT_ERROR_NULL_PDU = SmsManager.RESULT_ERROR_NULL_PDU;
		public static final int REPLY_STATUS_RESULT_ERROR_RADIO_OFF = SmsManager.RESULT_ERROR_RADIO_OFF;
	}

	public static class SmsReplyAppWidgetIds implements BaseColumns {
		private SmsReplyAppWidgetIds() {
		}

		public static final String SMS_REPLY_APP_WIDGET_IDS = "smsReplyAppWidgetIds";

		public static final Uri CONTENT_URI = Uri.withAppendedPath(
				AUTHORITY_URI, SMS_REPLY_APP_WIDGET_IDS);
		public static final String APP_WIDGET_ID = "app_widget_it";
		public static final String REFERENCE_SMS_REPLY_ID = "r_smsReplyId";

	}

}
